package ioc

import (
	"fmt"
	"github.com/spf13/viper"
	"go.uber.org/zap"
	"mts/log_srv/global"
)

func GetEnvInfo(env string) bool {
	viper.AutomaticEnv() // 自动从环境变量获取值
	return viper.GetBool(env)
}

func InitConfig() {
	// 获取环境变量
	prefix := "config"

	// 配置文件路径
	configFileName := fmt.Sprintf("./log_srv/%s-debug.yaml", prefix) // 默认生产环境

	// 初始化 viper
	v := viper.New()
	v.SetConfigFile(configFileName)

	// 读取配置文件
	if err := v.ReadInConfig(); err != nil {
		zap.S().Fatal("读取配置文件失败: ", err)
	}

	// 将配置反序列化到全局变量
	if err := v.Unmarshal(&global.ServerConfig); err != nil {
		zap.S().Fatal("配置文件反序列化失败: ", err)
	}

	zap.S().Info(global.ServerConfig)
}
